
package ch.hearc.coursJava.IO.persistence.objet.exemple;

import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Equipe implements Iterable<Homme> ,Serializable
	{

	/*------------------------------------------------------------------*\
	|*							Constructeurs							*|
	\*------------------------------------------------------------------*/
	/**
	 * necessaire pour serialization XML
	 */
	public Equipe()
		{
		//rien
		}

	public Equipe(List<Homme> listHomme)
		{
		this.listHomme = listHomme;
		}

	/*------------------------------------------------------------------*\
	|*							Methodes Public							*|
	\*------------------------------------------------------------------*/

	@Override
	public Iterator<Homme> iterator()
		{
		return this.listHomme.listIterator();
		}

	public boolean isEgal(Equipe equipe2)
		{
		if (equipe2.listHomme.size() != this.listHomme.size())
			{
			return false;
			}
		else
			{
			ListIterator<Homme> it2 = equipe2.listHomme.listIterator();

			for(Homme homme:listHomme)
				{
				if (!it2.next().isEgal(homme)) { return false; }
				}
			return true;
			}
		}

	@Override
	public String toString()
		{
		StringBuilder builder = new StringBuilder();
		builder.append("Equipe [listHomme=");
		builder.append(this.listHomme);
		builder.append("]");
		return builder.toString();
		}

	/*------------------------------*\
	|*				Set				*|
	\*------------------------------*/

	public void setListHomme(List<Homme> listHomme)
		{
		this.listHomme = listHomme;
		}

	/*------------------------------*\
	|*				Get				*|
	\*------------------------------*/

	public List<Homme> getListHomme()
		{
		return this.listHomme;
		}

	/*------------------------------------------------------------------*\
	|*							Methodes Private						*|
	\*------------------------------------------------------------------*/

	/*------------------------------------------------------------------*\
	|*							Attributs Private						*|
	\*------------------------------------------------------------------*/
	private List<Homme> listHomme;

	}
